package bfw3b9.atprin.Interface;

import bfw3b9.atprin.project.R;
import android.app.Activity;
import android.opengl.GLSurfaceView;
import android.os.Bundle;
import android.util.Log;

/**
 * Der Controller fuer das Interface Aktuell auch die Testklasse
 * 
 * @author Thomas Rinsch
 * 
 */
public class InterfaceController extends Activity
{
	private final String LOGTAG = "InterfaceController";
	private GLSurfaceView mGLView;
	private InterfaceItem[] mItems;

	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate( savedInstanceState );

		// GL-test
		Log.d( LOGTAG, "Konstruktor aufgerufen" );
		loadItems();
		mGLView = new InterfaceView( this );
		setContentView( mGLView );
		Log.d( LOGTAG, "Konstruktor erfolgreich" );

	}

	/**
	 * Erzeugt die verfuegbaren items
	 */
	private void loadItems()
	{
		Log.d( LOGTAG, "loadItems aufgerufen" );

		mItems = new InterfaceItem[5];
		mItems[0] = new InterfaceItem( 0, 0, 10, R.drawable.ic_launcher, "Android" );
		mItems[1] = new InterfaceItem( 0, 0, 20, R.drawable.frost, "Frost" );
		mItems[2] = new InterfaceItem( 0, 0, 30, R.drawable.creep, "Pacman" );
		mItems[3] = new InterfaceItem( 0, 0, 40, R.drawable.earth, "Earth" );
		mItems[4] = new InterfaceItem( 0, 0, 50, R.drawable.fire, "Fire" );

		Log.d( LOGTAG, "loadItems erfolgreich" );
	}

	/**
	 * Gibt die verfuegbaren Items zurueck
	 * 
	 * @return
	 */
	public InterfaceItem[] getItems()
	{
		return mItems;
	}

	/**
	 * Schreibt im Fehlerfall einen Eintrag in den Errorlog
	 * 
	 * @param _errorCode Der Angegebene Fehlerwert
	 * @param _noError Wert, bei dem kein Fehler ausgeloest werden soll
	 * @return true falls ein Fehler aufgetreten ist
	 */
	public static boolean ErrorCheck(int _errorCode, int _noError, String _logtag, String _message)
	{
		if (_errorCode != _noError)
		{
			Log.e( _logtag, _message + "\n Fehlercode: " + String.valueOf( _errorCode ) );
			return true;
		}
		return false;
	}
}
